/**
 * @param {number} numRows
 * @return {number[][]} 返回值是一个二维数组
 * 用递归的方法慢
 * 这里我们每次保存下上一行，用上一行来计算下一行
 * 用空间换区时间上的性能
 */
var generate = function(numRows) {
  let result = []
  if (numRows <= 0) {
    return []
  }
  result = [[1]]
  for(let rowNum = 1; rowNum < numRows; rowNum ++) {
    let row = []
    let prevRow = result[rowNum - 1]
    row.push(1)
    for (let j = 1; j < rowNum; j++) {
      row.push(prevRow[j - 1] + prevRow[j])
    }
    row.push(1)
    result.push(row)
  }
  return result
};
console.log(generate(2))